package com.ruoyi.common.core.service;

import com.ruoyi.common.core.domain.MyBaseEntity;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.SecurityUtils;

import java.util.Date;

/**
 * 基础服务类
 * @param <E> 实体类
 * @param <O> VO类
 */
public interface IBaseService<E extends MyBaseEntity, O extends E> {
    /**
     * 设置基本的信息
     *  创建人
     *  创建时间
     *  修改时间
     *  删除标识
     *  版本号
     * @param infoVO
     */
    default void setVOInfo(E infoVO){
        infoVO.setCreator(SecurityUtils.getLoginUser().getUser().getUserName());
        infoVO.setIsDeleted(0);
        infoVO.setVersion(0L);
        infoVO.setCreateTime(new Date());
        infoVO.setUpdateTime(new Date());
    }




}
